From 0bab4ab03427a620b6309b6834d416b71969a08b Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Thu, 11 Sep 2014 16:57:25 -0700 Subject: [PATCH] Update deps --- Cargo.lock | 16 ++++++++++++++++ src/cargo/sources/git/utils.rs | 5 +++-- src/cargo/sources/registry.rs | 13 +++++++------ src/cargo/util/config.rs | 4 ++-- tests/support/git.rs | 8 ++++---- tests/test_cargo_registry.rs | 18 +++++++++--------- 6 files changed, 41 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 294fcd522..0633d1c5d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,7 @@ name = "cargo" version = "0.0.1-pre" dependencies = [ + "curl 0.0.1 (git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4)", "docopt 0.6.3 (git+https://github.com/docopt/docopt.rs#ee3844098f213121ce7dfb32cdbf2512ecba7085)", "docopt_macros 0.6.3 (git+https://github.com/docopt/docopt.rs#ee3844098f213121ce7dfb32cdbf2512ecba7085)", "flate2 0.0.1 (git+https://github.com/alexcrichton/flate2-rs#a59b2a103642550bc1500c302c5031479ec7d9e1)", @@ -14,6 +15,21 @@ dependencies = [ "url 0.1.0 (git+https://github.com/servo/rust-url#bfdf809365600a7941a77524f9bb065886de3379)", ] +[[package]] +name = "curl" +version = "0.0.1" +source = "git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4" +dependencies = [ + "curl-sys 0.0.1 (git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4)", + "link-config 0.0.1 (git+https://github.com/alexcrichton/link-config#1d3cd271612036b47c015a55f33a97e1524569ae)", + "url 0.1.0 (git+https://github.com/servo/rust-url#bfdf809365600a7941a77524f9bb065886de3379)", +] + +[[package]] +name = "curl-sys" +version = "0.0.1" +source = "git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4" + [[package]] name = "docopt" version = "0.6.3" diff --git a/src/cargo/sources/git/utils.rs b/src/cargo/sources/git/utils.rs index 693b96e9d..532508865 100644 --- a/src/cargo/sources/git/utils.rs +++ b/src/cargo/sources/git/utils.rs @@ -185,7 +185,7 @@ impl GitRemote { } try!(mkdir_recursive(dst, UserDir)); let repo = try!(git2::Repository::init_bare(dst)); - try!(fetch(&repo, url.as_slice())); + try!(fetch(&repo, url.as_slice(), "refs/heads/*:refs/heads/*")); Ok(repo) } } @@ -287,7 +287,8 @@ impl<'a> GitCheckout<'a> { info!("fetch {}", self.repo.path().display()); let url = try!(self.database.path.to_url().map_err(human)); let url = url.to_string(); - try!(fetch(&self.repo, url.as_slice())); + let refspec = "refs/heads/*:refs/heads/*"; + try!(fetch(&self.repo, url.as_slice(), refspec)); Ok(()) } diff --git a/src/cargo/sources/registry.rs b/src/cargo/sources/registry.rs index 82abb06ba..5503aab0c 100644 --- a/src/cargo/sources/registry.rs +++ b/src/cargo/sources/registry.rs @@ -1,5 +1,6 @@ #![allow(unused)] use std::io::{mod, fs, File, MemReader}; +use std::io::fs::PathExtensions; use std::collections::HashMap; use curl::http; @@ -182,10 +183,10 @@ impl<'a, 'b> Registry for RegistrySource<'a, 'b> { fn query(&mut self, dep: &Dependency) -> CargoResult> { let mut chars = dep.get_name().chars(); let path = self.checkout_path.clone(); - let path = path.join(format!("{}{}", chars.next().unwrap_or('X'), - chars.next().unwrap_or('X'))); - let path = path.join(format!("{}{}", chars.next().unwrap_or('X'), - chars.next().unwrap_or('X'))); + let path = path.join(format!("{}{}", chars.next().unwrap_or(':'), + chars.next().unwrap_or(':'))); + let path = path.join(format!("{}{}", chars.next().unwrap_or(':'), + chars.next().unwrap_or(':'))); let path = path.join(dep.get_name()); let contents = match File::open(&path) { Ok(mut f) => try!(f.read_to_string()), @@ -236,9 +237,9 @@ impl<'a, 'b> Source for RegistrySource<'a, 'b> { // git reset --hard origin/master let reference = "refs/remotes/origin/master"; - let oid = try!(git2::Reference::name_to_id(&repo, reference)); + let oid = try!(repo.refname_to_id(reference)); log!(5, "[{}] updating to rev {}", self.source_id, oid); - let object = try!(git2::Object::lookup(&repo, oid, None)); + let object = try!(repo.find_object(oid, None)); try!(repo.reset(&object, git2::Hard, None, None)); Ok(()) } diff --git a/src/cargo/util/config.rs b/src/cargo/util/config.rs index de382e12c..c0324b891 100644 --- a/src/cargo/util/config.rs +++ b/src/cargo/util/config.rs @@ -1,5 +1,5 @@ -use std::{io, fmt, os, result, mem}; -use std::io::fs::PathExtensions; +use std::{fmt, os, result, mem}; +use std::io::fs::{PathExtensions, File}; use std::collections::HashMap; use serialize::{Encodable,Encoder}; use toml; diff --git a/tests/support/git.rs b/tests/support/git.rs index e2c9d2391..010b1da7a 100644 --- a/tests/support/git.rs +++ b/tests/support/git.rs @@ -42,9 +42,9 @@ impl RepoBuilder { } index.write().unwrap(); let id = index.write_tree().unwrap(); - let tree = git2::Tree::lookup(&self.repo, id).unwrap(); - let sig = git2::Signature::default(&self.repo).unwrap(); - git2::Commit::new(&self.repo, Some("HEAD"), &sig, &sig, - "Initial commit", &tree, []).unwrap(); + let tree = self.repo.find_tree(id).unwrap(); + let sig = self.repo.signature().unwrap(); + self.repo.commit(Some("HEAD"), &sig, &sig, + "Initial commit", &tree, []).unwrap(); } } diff --git a/tests/test_cargo_registry.rs b/tests/test_cargo_registry.rs index 4ecbf4768..1a148a50e 100644 --- a/tests/test_cargo_registry.rs +++ b/tests/test_cargo_registry.rs @@ -45,8 +45,8 @@ fn setup() { .file("config.json", format!(r#" {{"dl":"{}","upload":""}} "#, dl_url()).as_slice()) - .file("fo/oX/foo", pkg("foo", "0.0.1", [], &foo_cksum)) - .file("ba/rX/bar", pkg("bar", "0.0.1", ["foo|>=0.0.0"], &bar_cksum)) + .file("fo/o:/foo", pkg("foo", "0.0.1", [], &foo_cksum)) + .file("ba/r:/bar", pkg("bar", "0.0.1", ["foo|>=0.0.0"], &bar_cksum)) .file("ba/d-/bad-cksum", pkg("bad-cksum", "0.0.1", [], &bar_cksum)) .nocommit_file("no/ty/notyet", pkg("notyet", "0.0.1", [], ¬yet)) .build(); @@ -206,13 +206,13 @@ Version required: >= 0.0.0 let mut index = repo.index().unwrap(); index.add_path(&Path::new("no/ty/notyet")).unwrap(); let id = index.write_tree().unwrap(); - let tree = git2::Tree::lookup(&repo, id).unwrap(); - let sig = git2::Signature::default(&repo).unwrap(); - let parent = git2::Reference::name_to_id(&repo, "refs/heads/master").unwrap(); - let parent = git2::Commit::lookup(&repo, parent).unwrap(); - git2::Commit::new(&repo, Some("HEAD"), &sig, &sig, - "Another commit", &tree, - [&parent]).unwrap(); + let tree = repo.find_tree(id).unwrap(); + let sig = repo.signature().unwrap(); + let parent = repo.refname_to_id("refs/heads/master").unwrap(); + let parent = repo.find_commit(parent).unwrap(); + repo.commit(Some("HEAD"), &sig, &sig, + "Another commit", &tree, + [&parent]).unwrap(); assert_that(p.process(cargo_dir().join("cargo")).arg("build"), execs().with_status(0).with_stdout(format!("\ -- 2.30.2